BigQuery (データセット作成、読み込み、クエリの実行まで) をコンソールから実行する

BigQuery (データセット作成、読み込み、クエリの実行まで) をコンソールから実行する

Clock Icon2023.01.25

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは、yagiです。

Google Cloud の BigQuery について、データセット作成、読み込み、クエリ実行までを、Google Cloud コンソールから実行してみたので記載します。

Google Cloud の BigQuery とは

BigQuery は、機械学習、地理空間分析、ビジネス インテリジェンスなどの組み込み機能を使用してデータの管理と分析を支援する、フルマネージドのエンタープライズ データ ウェアハウスです。BigQuery のサーバーレス アーキテクチャにより、SQL クエリを使用して、インフラストラクチャ管理なしで組織の最も大きな課題に対応できます。BigQuery のスケーラブルな分散型分析エンジンを使用すると、数テラバイト、数ペタバイトのデータに対し、数秒もしくは数分でクエリを完了できます。

BigQuery とは

使ってみる

こちらのチュートリアルを参考に進めてみます。

Google Cloud コンソールでデータを読み込んでクエリを実行する

まず、プロジェクトを選択して、BigQuery API を有効にします。

BigQuery データセットを作成する

BigQuery コンソールへ移動して、エクスプローラーパネルでプロジェクト名をクリックします。右側のチュートリアルメニューが連動していて便利です!

「データセットの作成」を押下します。

データセットIDを入力して、データセットを作成を押下します。

データセットが作成されました。

ソースデータ ファイルをダウンロードしてデータを確認する

新しいブラウザタブで次の URL を開き、今回サンプルとして利用する、米国社会保障局のデータセットをダウンロードします。

https://www.ssa.gov/OACT/babynames/names.zip

yob2014.txt ファイルを開いて、データを確認します。

このファイルには、名前、性別(M または F)、その名前の子供の数のカンマ区切り値が含まれています。

テーブルを作成してデータを読み込む

データセットの詳細から、テーブルを作成を押下します。

テーブルを作成 画面で、ソース テーブルの作成元にアップロードを選択し、先ほど確認した yob2014.txt ファイル を参照して選択します。ファイル形式はCSVを指定します。

送信先のテーブル名 names_2014 を入力し、スキーマにテキストとして編集を選択し、以下のスキーマ定義をボックスに貼付します。

name:string,gender:string,count:integer

テーブルを作成を押下します。

[個人履歴] と [プロジェクト履歴] パネルを開いてジョブの詳細を確認できます。この機能すごく便利!ジョブが終わったのか明確にわかるので良いですね。

テーブルデータをプレビューする

テーブル名を選択し、スキーマ からテーブルのスキーマが確認できます。

プレビュー から最初の数行のデータが確認できます。

テーブルデータをクエリする

エディタ パネルでクエリを新規作成 ボタンを押下します。

[エディタ] タブに、次のクエリを貼り付けます。実行を押下します。

SELECT
      name,
      count
    FROM
      `babynames.names_2014`
    WHERE
      gender = 'M'
    ORDER BY
      count DESC
    LIMIT
      5

結果が [クエリ結果] セクションに表示されます。

結果はJSONでも表示することができたり、

実行の詳細が表示できたり

結果の保存 から選択した形式で保存もできたりと、便利です。

感想

Google Cloud の BigQuery について、チュートリアルにそってデータセット作成、読み込み、クエリの実行までをコンソール上から実行してみました。

コンソール上の操作に慣れていなくても、チュートリアルと連動しているため、画面上の場所を教えてくれたり、視覚的にも分かりやすく、とても便利に使うことができます。

これからいろいろ使ってみようと思います。

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.